/**
 * @Description  : Layout 组件入口
 * @Author       : Zhang Yantao
 * @Date         : 2022/1/8
 * @FilePath     : /Users/zhangyantao/wsp_web/wspace/vue-admin-work-ts/client/src/layouts/Index.ts
 */
import Vue, { VueConstructor } from "vue";
import "@/assets/styles/main.css";
import ConstDefs from "@/constants/ConstDefs";
import LayoutView from "@/layouts/LayoutView.vue";
import LyMessage from "@/layouts/components/message/LyMessage.vue";
import LySetting from "@/layouts/components/setting/LySetting.vue";
import LySidebar from "@/layouts/components/sidebar/LySidebar.vue";
import LyBreadcrumb from "@/layouts/components/LyBreadcrumb.vue";
import LyFooter from "@/layouts/components/LyFooter.vue";
import LyHeader from "@/layouts/components/LyHeader.vue";
import LyHumburger from "@/layouts/components/LyHumburger.vue";
import LyLogo from "@/layouts/components/LyLogo.vue";
import LyMain from "@/layouts/components/LyMain.vue";
import LyMainLayout from "@/layouts/components/LyMainLayout.vue";
import LyNavbar from "@/layouts/components/LyNavbar.vue";
import LyRouterViewLayout from "@/layouts/components/LyRouterViewLayout.vue";
import LySvgIcon from "@/layouts/components/LySvgIcon.vue";
import LyTabbar from "@/layouts/components/LyTabbar.vue";
import LyVAWAvatar from "@/layouts/components/LyVAWAvatar.vue";
import LyTabSplitSideBar from "@/layouts/components/sidebar/LyTabSplitSideBar.vue";
import LyMessageItem from "@/layouts/components/message/LyMessageItem.vue";
import LyNotifyItem from "@/layouts/components/message/LyNotifyItem.vue";
import LyTodoItem from "@/layouts/components/message/LyTodoItem.vue";
import LySettingInfo from "@/layouts/components/setting/LySettingInfo.vue";
import LyStyleExample from "@/layouts/components/setting/LyStyleExample.vue";
import LyMenuItemTip from "@/layouts/components/sidebar/LyMenuItemTip.vue";
import LyScrollerMenu from "@/layouts/components/sidebar/LyScrollerMenu.vue";
import LyMenuItem from "@/layouts/components/sidebar/LyMenuItem.vue";
import LySideBarItem from "@/layouts/components/sidebar/LySideBarItem.vue";
import LySubMenuItem from "@/layouts/components/sidebar/LySubMenuItem.vue";
import LyActionItems from "@/layouts/components/LyActionItems.vue";
import LyMessageContent from "@/layouts/components/message/LyMessageContent.vue";

const compsList: VueConstructor[] = [
  LayoutView,
  LyMessage,
  LySetting,
  LySidebar,
  LyBreadcrumb,
  LyFooter,
  LyHeader,
  LyHumburger,
  LyLogo,
  LyMain,
  LyMainLayout,
  LyNavbar,
  LyRouterViewLayout,
  LySvgIcon,
  LyTabbar,
  LyVAWAvatar,
  LyTabSplitSideBar,
  LyMessageItem,
  LyNotifyItem,
  LyTodoItem,
  LySettingInfo,
  LyStyleExample,
  LyMenuItemTip,
  LyMenuItem,
  LyScrollerMenu,
  LySideBarItem,
  LySubMenuItem,
  LyTabSplitSideBar,
  LyActionItems,
  LyMessageContent,
];
compsList.forEach((eleVue) => {
  const name: string = eleVue.options.name;
  if (process.env.NODE_ENV !== ConstDefs.Env.eNodeEnv.env_production) {
    console.log(
      `【Comp name】:${name}\n【file path】:${eleVue.options.__file}`
    );
  }
  Vue.component(name, eleVue);
});
